Today, more and more output systems are developed for the reproduction of color images. Several display and printing technologies are used such as CRT's, LCD's, conventional photography, electrophotography, thermal transfer, dye sublimation and ink jet systems to name a few. In the rest of this document, these systems will be referred to as output devices.
All these systems can be described as multi-dimensional color devices with n colorants such as CMYK (cyan, magenta, yellow and black) inks of an ink jet system or RGB (Red, Green, Blue) in case of a display system. In this document it is assumed that the colorant values for printers range from 0% (no colorant laid down on paper) to 100% (maximum amount of colorant laid down on paper). For display systems, the values range from 0 to 255. In the rest of this document, mainly a printer will be used as an example of an output system, however, it is well known in the art of color management systems that all aspects of printers can be easily extended to those of display systems.
With colorant space is meant an n-dimensional space, wherein n is the number of independent variables with which the output device can be addressed. For an offset printing press e.g., the dimension of the colorant space equals the number of inks of the printing press. If CMYK inks are used, the dimension of the colorant space is four. Colorant spaces are also referred to as device dependent spaces.
The colorant gamut is defined by all possible combinations of colorant values, ranging from 0% to 100% for printers and from 0 to 255 for display systems, taking into account a number of specified colorant limitations. If there are no colorant limitations, the colorant gamut is an n-dimensional cube.
With calorimetric space is meant a space that represents a number of quantities of an object that characterize its color. In most practical situations, colors will be represented in a 3-dimensional space such as the CIE XYZ space. However, also other characteristics can be used such as multi-spectral values based on filters that are not necessarily based on a linear transformation of the color matching functions. The values represented in a calorimetric space are referred to as calorimetric values. Colorimetric spaces are also referred to as device independent spaces or as color spaces.
A printer model is a mathematical relation that expresses calorimetric values in function of colorants for a given output system. The variables for the colorants are denoted as c1, c2, . . . , cn with n the dimension of the colorant space. An n-ink process is completely characterized by its colorant gamut with a number of colorant limitations and the printer model. Because of this close relationship between an n-ink process and the printer model, the operations typically defined for a printer model are easily extended to an n-ink process.
The printer model is often based on a printer target. Such a target consists of a number of uniform color patches, defined in the colorant space of the printing device. In a next step the printer target is printed and measured, and based on the values of the patches in colorant space and the measured colorimetric values, the printer model is made. A printer target is normally characterized by a number of sampling points along the different colorant axes. Based on the sampling points a regular grid can be constructed in colorant space of which a number of grid points are contained by the printer target. Hence a target can be said to be complete or incomplete. We refer to patent application EP-A-1 146 726, herein incorporated by reference in its entirety for background information only, for more information on grids, complete and incomplete printer targets, and related terms.
With inverting an n-ink process is meant that the corresponding printer model is inverted. The transformation of an n-ink process to colorimetric space on the other hand is equivalent to the transformation of the corresponding colorant gamut to color space by making use of the printer model.
We refer to patent application EP-A-1 083 739, herein incorporated by reference in its entirety for background information only, for more information on colorant spaces, color spaces, and other relevant terms.
Based on a printer model, forward and inverse look up tables are constructed. These tables are also referred to as tables or color tables. A forward table transforms colorant values to calorimetric values whereas the inverse tables transforms calorimetric values to colorant values. Inverse tables are also called separation tables or color separation tables.
The present invention is related to the rendering of page descriptions, consisting of multiple page elements such as text, different types of images and color gradations (color gradations, also called color vignettes, are elements wherein color smoothly changes from one color to another one).
In most cases, the page elements are described in a calorimetric or colorant space, which may either be a device independent color space such as CIELAB, or a device dependent space such as RGB or CMYK. If the page has to be reproduced on a given output system, such as a printer or a display system, the color values have to be transformed to the proper colorant values of the concerned output system. This transformation is required as the color space of the page elements is in most cases different from the color space of the output system. In fact for most documents it is not known in advance on which output system the document will be reproduced and the different page elements may be defined in different color spaces. Hence to reproduce these page elements, each element is preferably color managed by making use of proper color transformations.
In a lot of cases, all page elements are defined in the same conventional color space. Depending on the application, this is usually a device dependent RGB, CMY or CMYK space. In home office environments, the RGB space corresponds to a monitor space and preferably the sRGB space is used. In a graphic arts environment, the CMYK values are typically standard Euro, SWOP or standard newspaper colorant values.
If the output system is known on which the document has to be reproduced, the color values have to be transformed unless the color space of the page elements corresponds to the color space of the output device. Such a transformation is in most cases done with color tables. A worldwide-accepted system to transform the colors is given by the ICC, the International Color Consortium. With this approach, each device is characterized to or from a device dependent color space. Such a transformation is described by tables, matrices and TRC's (Tone Reproduction Curves, i.e. one-dimensional look up tables) which are stored in a profile. In most cases profiles contain both forward and inverse color tables. Hence, if all page elements have the same color space, profiles can be used to perform the proper color management operations.
If on the other hand different page elements are defined by different but conventional color spaces, and these spaces can be described properly by conventional profiles, then the ICC approach can also be applied easily. To support this functionality, different applications allow the embedding of profiles in images.
For a number of page elements, however, ICC profiles do not yield good results. This is the case when non-process colors or a combination of process and non-process colors are used. Process colors are the colorants used in conventional printing processes such as CMYK for normal offset printing, or cyan, magenta, yellow, black, orange and green in case of Hexachrome™ printing. In addition to process colors, non-process colors may be used, such as custom colors and spot colors. A custom color is a colorant especially created for a particular application. Spot colors on the other hand are colorants that are typically used if images are created artificially. The designer of the image then chooses one or more spot colors to render some image portions more accurately. In practice, a spot color is chosen out of a set containing tenths or hundreds of colorants. Spot colors are also called named colors.
Since a spot color is chosen out of a very large set of colorants, it is not practical to make color tables to describe the mixing of one or several spot colors.
As only the calorimetric values of the 100% patch are known, a spot color is usually rendered by transforming the calorimetric values of the 100% patch to the colorant values of the output device. By making use of simple interpolation techniques, colorant values for in between dot percentages of the spot color can be obtained.
More complicated is the situation in which multiple spot colors, or spot colors and process colors are printed on top of each other. Due to the very large number of possible color combinations, it is practically impossible to print the most elementary combinations in order to be able to construct an accurate printer model.
Therefore, if spot colors are printed on top of each other, it is customary to calculate the overlap simply by adding the colorant values of the individual spot colors. Take for example an overlap of 40% of a first spot color and 70% of a second spot color, and suppose that the colorant space of the output device is CMYK. The CMYK colorant values of the 40% patch are determined from values of the 100% patch of the first spot color, and those of the 70% patch are determined from the 100% patch of the second spot color. The color of the overlap is then predicted by adding the CMYK values of the 40% and those of the 70% patch. However, this solution is not accurate.
There is thus a need for an improved method.